//go:build wireinject

package ioc

import (
	"github.com/google/wire"
)

func InitApp() *App {
	wire.Build(
		InitDB,
		InitAsyncTask,
		InitPromptConfig,
		InitPlatform,
		InitJwtAuth,
		InitRateLimiter,
		InitGrpc,
		wire.Struct(new(App), "*"),
	)
	return new(App)
}
